-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prepare libQuotient for operating without being able to reach the server #777
Conversation
Quality Gate passedIssues Measures |
Great job, tobias, create a merge request that does everything except the thing it says it does 🤦♂️ |
479a8df
to
b8e932d
Compare
Slightly hijacked the merge request to do the rest of what I want to do; see individual commits for details |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for reaching this corner - generally it looks good but I'd prefer futures to callbacks these days. It might be just me, so I'm open to discuss the benefits of either approach.
This is important for clients to know the point from which it is safe to load state without risking problems due to the e2ee machinery not being ready yet.
… before connecting to the server This allows libQuotient-based clients to operate with the cached state (and in the future, room events) when there is no network connection. It's losing the check whether userid and deviceid correspond to the given token, but I don't see a strong need for that.
Linux pipelines fail mysteriously since the rewrite, with the keychain job getting deleted before yielding the result - maybe the newest Qt Keychain would be better?
18592a6
to
e3fbbc5
Compare
61fe407
to
45adeee
Compare
Qt 6.4 doesn't handle QFutures with move-only results well. The workaround for now is to pass the reference to the ultimate move-only result (i.e. Connection::Private::encryptionData) into all the continuations as a captured variable. Once we require at least Qt 6.5 this workaround can be removed and normal QFuture logic used to pass defered results around.
45adeee
to
e447f41
Compare
The last round and then merge. |
No description provided.